// https://www.acwing.com/problem/content/870/

#include <cstdio>

using namespace std;

/*
 * 暴力枚举所有的质数
 * 1. 遍历 2 到 n 的每一个数 i
 * 2. 对每个 i，检查它是否是质数：
 * 3. 检查 i 是否能被 2 到 sqrt(i) 之间的任何整数整除。如果不能，则 i 是质数。
 * 4. 统计所有质数的数量。
 */

int isPrime(int x) {
    for (int i=2; i <= x / i; i++) {
        if (x % i == 0) {
            return 0;
        }
    }
    return 1;
}


int main() {
    int n;
    scanf("%d", &n);
    int ans = 0;
    for (int i=2; i <= n; i++) {
        ans += isPrime(i);
    }
    printf("%d\n", ans);
    return 0;
}
